home *** CD-ROM | disk | FTP | other *** search
/ Amiga Games: Greatest Hits 1996 / Amiga Games: Greatest Hits 1996.iso / archive / userbox / publicdomain / engclock_v7.0.lha / EngClock_v7.0 / EngClock7_Source / translate.c < prev    next >
C/C++ Source or Header  |  1995-12-05  |  3KB  |  97 lines

  1. #include <clib/translator_protos.h>
  2. #include <pragmas/translator_pragmas.h>
  3. #include <libraries/translator.h>
  4. //#include <proto/exec.h>
  5. #include <stdio.h>
  6. #include <string.h>
  7. #include <exec/libraries.h>
  8.  
  9. #include <clib/exec_protos.h>
  10.  
  11. char *trans(char *text);
  12. extern void msg(char *msg);
  13.  
  14. struct Event {
  15.     BOOL used;
  16.     int type;    /* Type of event */
  17.     int hours;    /* Time of event */
  18.     int minutes;
  19.     int timecode;
  20.     char message[256];
  21.     int day;
  22.     int month;
  23.     int year;
  24.     BOOL enabledate;
  25.     int freq;
  26. };
  27.  
  28. extern struct {
  29. /* Prefs structure used for preferences file format */
  30.  
  31.    char header[10];  /* I.D. Header */
  32.    int vers;         /* Version of preferences file */
  33.    int x;            /* X dimension of window when saved */
  34.    int y;            /* Y dimension of window when saved */
  35.    int width;        /* Width of window when saved */
  36.    int height;       /* Height of window when saved */
  37.    int planguage;    /* Language selected (menu) when saved, low pri */
  38.    int just;         /* Justification of text, 0=Left, 1=Centre */
  39.    short date;       /* Display date?, 0 = No, 1=Yes */
  40.    short wtf;         /* Window to front? */
  41.    int time_col[8];
  42.    int date_col[8];
  43.    short autoadjust;       /* Auto adjust ? */
  44.    char backdrop[256];
  45.    char pub[139];
  46.     char accent[256];        /* Language file for tRanslate */
  47.     char tkey[100];
  48.     char hkey[100];
  49.     struct Event events[11];  /* For the alarm! */ 
  50. }prefs;
  51.  
  52. extern struct Library *TranslatorBase;
  53. extern struct IntuitionBase *IntuitionBase;
  54. extern struct GfxBase *GfxBase;
  55. extern struct Library *UtilityBase;
  56. extern struct Library *GadToolsBase;
  57. extern struct Library *DiskfontBase;
  58. extern struct Library *AslBase;
  59. extern struct Library *IFFParseBase;
  60. extern struct Library *DataTypesBase;
  61. extern struct Library *TranslatorBase;
  62. extern struct Library *DOSBase;
  63.  
  64. char *trans(char *text) {
  65.     char output[1000];
  66.     struct Library *testbase=NULL;
  67.  
  68.     TranslatorBase=OpenLibrary("translator.library",0);
  69.     if(!TranslatorBase) {
  70.         msg("Err. OpenLib!");
  71.         return(0L);
  72.     }
  73.  
  74.     if(TranslatorBase->lib_Version<42) {
  75.         /* Old version of Translator (no accents) */
  76.        Translate(text,strlen(text),&output[0],sizeof(output));
  77.     } else {
  78.         /* New version */
  79.         // This version requires locale!
  80.         if(!(testbase=OpenLibrary("locale.library",0))) {
  81.             msg("The new translator.lib needs locale.library!");
  82.             CloseLibrary(TranslatorBase);
  83.             return(NULL);
  84.         }
  85.         CloseLibrary(testbase);
  86.         TranslateAs(text,strlen(text),&output[0],sizeof(output),prefs.accent);
  87.     }
  88.     CloseLibrary(TranslatorBase);
  89.  
  90.     return(output);
  91.  
  92. }
  93.  
  94.  
  95.  
  96.  
  97.